package com.shujia.scala

object Demo19implicit {

  def main(args: Array[String]): Unit = {

    /**
      * 隐式转换
      *
      * 1、隐式转换方法
      * 2、隐式转换变量
      * 3、隐式转换类
      *
      *
      * 给对象动态增加新的方法
      *
      */


    //2、隐式转换变量

    def fun(nane: String)(implicit str: String): Unit = {
      println(nane + "\t" + str)
    }

    fun("张三")("java")


    //隐式转换变量
    // 隐式转换变量和变量名无关  和变量类型有关  同一个作用域中不能有两个类型一样的隐式转换变量
    implicit val str: String = "spark"

    fun("李四")


  }


}
